package cn.iocoder.yudao.module.ao.dal.dataobject.teacher;

import lombok.*;
import java.time.LocalDate;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 教师信息 DO
 *
 * @author 智教云枢
 */
@TableName("jx_teacher")
@KeySequence("jx_teacher_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TeacherDO extends BaseDO {

    /**
     * 教师唯一ID（序号）
     */
    @TableId
    private Long teacherId;
    /**
     * 用户ID（关联system_users表）
     */
    private Long userId;
    /**
     * 部门名称
     */
    private Long deptName;
    /**
     * 姓名
     */
    private String teacherName;
    /**
     * 工号（OA）
     */
    private String teacherNo;
    /**
     * 职务
     */
    private String position;
    /**
     * 性别（1男 2女）
     */
    private Integer gender;
    /**
     * 年龄
     */
    private Integer age;
    /**
     * 婚否（1已婚 0未婚）
     */
    private Integer maritalStatus;
    /**
     * 民族
     */
    private String ethnicity;
    /**
     * 身份证号
     */
    private String idCard;
    /**
     * 出生日期
     */
    @TableField("birth_date")
    private LocalDate birthDate;
    /**
     * 联系方式
     */
    private String contactPhone;
    /**
     * 入职日期
     */
    @TableField("entry_date")
    private LocalDate entryDate;
    /**
     * 入职年份
     */
    private Integer entryYear;
    /**
     * 入职月份
     */
    private Integer entryMonth;
    /**
     * 已满年限
     */
    private BigDecimal serviceYears;
    /**
     * 户口类型
     */
    private String householdType;
    /**
     * 籍贯
     */
    private String nativePlace;
    /**
     * 户籍地址
     */
    private String householdAddress;
    /**
     * 现住地址
     */
    private String currentAddress;
    /**
     * 学历
     */
    private String educationLevel;
    /**
     * 专业
     */
    private String major;
    /**
     * 毕业学校
     */
    private String graduateSchool;
    /**
     * 专业证书
     */
    private String professionalCertificate;
    /**
     * 教资证书编码
     */
    private String teachingCertificateNo;
    /**
     * 颁发单位
     */
    private String certificateIssuer;
    /**
     * 颁发日期
     */
    @TableField("certificate_issue_date")
    private LocalDate certificateIssueDate;
    /**
     * 签合同次数
     */
    private Integer contractCount;
    /**
     * 签订合同
     */
    @TableField("contract_sign_date")
    private LocalDate contractSignDate;
    /**
     * 合同到期
     */
    @TableField("contract_expire_date")
    private LocalDate contractExpireDate;
    /**
     * 社保
     */
    private String socialInsurance;
    /**
     * 紧急联系
     */
    private String emergencyContact;
    /**
     * 个人E-MAIL
     */
    private String personalEmail;
    /**
     * QQ号
     */
    private String qqNumber;
    /**
     * 政治面貌
     */
    private String politicalStatus;
    /**
     * 人事异动
     */
    private String personnelChanges;
    /**
     * 爱好及特长
     */
    private String hobbiesSpecialties;
    /**
     * 毕业时间
     */
    @TableField("graduation_date")
    private LocalDate graduationDate;
    /**
     * 职业等级
     */
    private String professionalLevel;
    /**
     * 职称
     */
    private String professionalTitle;


}